package com.zg.niuke.simple;

import java.util.Scanner;

/**
 * HJ4 字符串分隔
 * 描述
 * •输入一个字符串，请按长度为8拆分每个输入字符串并进行输出；
 *
 * •长度不是8整数倍的字符串请在后面补数字0，空字符串不处理。
 * 输入描述：
 * 连续输入字符串(每个字符串长度小于等于100)
 *
 * 输出描述：
 * 依次输出所有分割后的长度为8的新字符串
 *
 * 示例1
 * 输入：
 * abc
 * 输出：
 * abc00000
 */
public class Simple4 {
    public static void main(String[] args) {
        solution1();
    }

    /**
     * 1.需要输入字符串，用到Scanner和hasNext()。
     *   （1）建立 Scanner sc = new Scanner(System.in);
     *   （2）判断有无输入用sc.hasNext().接收字符串使用sc.nextLine().
     * 2.一次性接受全部的字符串，对8取余，获知需要补0的位数。使用StringBuilder中的append()函数进行字符串修改，别忘了toString()。
     *      字符串缓冲区的建立：StringBuilder sb = new StringBuilder();
     * 3.输出时，截取前8位进行输出，并更新字符串。用到str.substring()函数：
     *  （1）str.substring(i)意为截取从字符索引第i位到末尾的字符串。
     *  （2）str.substring(i,j)意为截取索引第i位到第（j-1）位字符串。包含i，不包含j。
     */
    public static void solution1(){
        Scanner sc = new Scanner(System.in);

        while(sc.hasNext()){
            String str = sc.nextLine();
            StringBuilder sb = new StringBuilder();//牢记字符串缓冲区的建立语法
            sb.append(str);//字符串缓冲区的加入
            int size = str.length();
            int addZero = 8 - size%8;//addzero的可能值包括8
            while((addZero > 0)&&(addZero<8)){//注意边界调节，避免addzero=8
                sb.append("0");//使用‘’或“”都可
                addZero--;
            }
            String str1 = sb.toString();
            while(str1.length()>0){
                System.out.println(str1.substring(0,8));
                str1 = str1.substring(8);
            }

        }
    }

    /** TODO
     * 1.获取输入的字符串
     * 2.判断字符串长度，小于8,在后面补上0，达到8位，大于8，先以8位作为
     * 一段截取，再判断剩余字符串长度与8比较，如果小于8,照上述操作，大于8，先截取8位，再判断剩下的...
     * 如此循环操作。
     */
    public static void solution2(){
        Scanner input = new Scanner(System.in);
        while(input.hasNextLine()){
            String s = input.nextLine();
            split(s);
        }
    }

    public static void split(String s){
        while(s.length()>=8){
            System.out.println(s.substring(0,8));
            s=s.substring(8);
        }
        if(s.length()<8 && s.length()>0){
            s+="00000000";
            System.out.println(s.substring(0,8));
        }
    }
}
